home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- *
- * Filename: genjob.h
- *
- * Date Created: January 26, 1989
- *
- * Version: 1.0
- *
- * Programmers: Tom Brough, Milt Anderson, Cliff Ross, Greg Peto
- *
- * Date Modified:
- *
- * Modifications:
- *
- * Comments: Common header file for all generic job server utilities
- *
- ****************************************************************************/
-
- #include <stdio.h>
- #include <nit.h>
- #include <nitq.h>
- #include <niterror.h>
- #include <dos.h>
- #include <io.h>
- #include <fcntl.h>
- #include <stdlib.h>
- #include "..\shrthnd.h"
-
- /* constants definitions */
- #define MAX_FSERVER_NAME 48
- #define MAX_JQUEUE_NAME 48 /* max length of job queue name */
- #define MAX_PATH 255 /* max full path name length */
- #define MAX_USER_NAME 48
- #define MAX_PASSWORD 128 /* max length of password */
- #define MAX_LOGICAL_DRIVES 32 /* max number of logical drives */
- #define MAX_SEARCH_VECTORS 17 /* 16 plus marker at end */
- #define NOT_SEARCH_MAPPED 0XFF /* drive is not mapped to search */
- #define MAX_SERVER_ATTACHES 8 /* max number of servers attached */
- #define MAX_COMMAND 128 /* max length of command line to
- execute */
- #define MAX_COM_KEY 20 /* max length of command line
- keyword */
- #define MAX_ENV_ENTRIES 100 /* max number of environment entries */
-
- #define ENV_ENTRY_SIZE 128 /* max length of string in entry */
- /* BUGS: how big should this be ? */
- #define MAX_ARG_VAR 156 /* max length of keyword string
- arg */
-
- #define JOB_QUEUE_NAME "JS_QUEUE" /* queue object name in bindiery */
- /* #define OT_JOB_QUEUE 153 /* bindery object type for job queue */
-
- #define TARGET_TIME_BYTES 6 /* number of bytes in job execute time */
- /* drive status flags as returned by GetDriveInformation() */
- #define PERM_DIR_HANDLE 1
- #define TEMP_DIR_HANDLE 2
- #define MAPPED_TO_LOCAL 0x8
-
- /* global variables and data types */
- typedef struct
- {
- BYTE hour;
- BYTE minute;
- BYTE second;
- } JOB_TIME; /* time sub-field in job struct */
-
- typedef struct
- {
- BYTE year;
- BYTE month;
- BYTE day;
- } JOB_DATE; /* date sub-field in job struct */
-
- typedef struct
- {
- int com_token; /* token constant for command */
- char *com_key; /* command key word, upper case */
- int num_sig; /* number of significant chars */
- BOOLEAN req_string; /* requires string parameter */
- BOOLEAN req_int; /* requires integer,time or date
- parameter */
- } COMMAND_ARGS; /* structure to store expected form
- of command line args */
-
- #define JOB_REC_V_NUMBER 1 /* using job structure format #1 */
- typedef struct
- {
- BYTE isTemp;
- BYTE searchVector;
- BYTE fullPath[MAX_PATH];
- } MAPINFO;
-
- typedef struct
- {
- BYTE serverName[MAX_FSERVER_NAME];
- BYTE userName[MAX_USER_NAME]; /* full login name of user */
- BYTE password[MAX_PASSWORD]; /* password for user */
- /* current attached server(s)
- info */
- } SERVERINFO;
-
- typedef struct
- {
- char v; /* holds 'v'*/
- char period; /* holds '.' */
- char versionNumber; /* version number of job file
- format as character '0' + # */
- char jobCommand[MAX_COMMAND]; /* command line to execute */
- } CLIENT_REC_AREA; /* client record format for job */
-
- /* flag values for JOBFILE flag element */
- #define DO_ACK_MESS 01 /* send acknowledge message peer to
- peer when job terminates */
-
- typedef struct
- {
- int flags; /* flags set by submitting program */
- BYTE curDrive; /* current drive attached to */
- unsigned BYTE svector[MAX_SEARCH_VECTORS]; /* search vector drive mappings
- array */
- char envEntries[MAX_ENV_ENTRIES][ENV_ENTRY_SIZE];
- int numEntries; /* number entries in envEntries */
- MAPINFO mapInfo[MAX_LOGICAL_DRIVES];
- SERVERINFO serverInfo[MAX_SERVER_ATTACHES];
- int numServers; /* number of entries in serverInfor */
- } JOBFILE; /* job file format */
-
- /* functions and data in genjob.c */
- extern char *jobQueueName;
- extern int jobQueueType;
- extern BYTE jobServerConID;
- extern long jobQueueID;
-
- extern void GetArg(char *,char *,BOOLEAN *,char *,long *,
- JOB_TIME *,JOB_DATE *);
- extern void FindJobServer(char [],BOOLEAN);
- extern long CheckServerForQueue(WORD);
-
- /* macro definitions */
- /*****************************************************************************/
-